{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<style>div.container { width: 100% }</style>\n",
    "<img style=\"float:left;  vertical-align:text-bottom;\" height=\"65\" width=\"172\" src=\"../assets/PyViz_logo_wm_line.png\" />\n",
    "<div style=\"float:right; vertical-align:text-bottom;\"><h2>Strata NY 2018 Tutorial Index</h2></div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Welcome to the PyViz tutorial at Strata New York 2018!\n",
    "\n",
    "This tutorial will take you through all of the steps involved in exploring data of many different types and sizes, building simple and complex figures, working with billions of data points, adding interactive behavior, widgets and controls, and deploying full dashboards and applications.\n",
    "\n",
    "The tutorial outlined here is given as a half-day course led by trained instructors.  For self-paced usage, you should consult the main [tutorial index](index.ipynb).\n",
    "\n",
    "We'll be using a wide range of open-source Python libraries, including the [Anaconda](http://anaconda.com)-supported tools\n",
    "[HoloViews](http://holoviews.org),\n",
    "[GeoViews](http://geo.holoviews.org),\n",
    "[Bokeh](http://bokeh.pydata.org),\n",
    "[Datashader](https://datashader.org), and \n",
    "[Param](http://ioam.github.io/param):\n",
    "\n",
    "<img height=\"148\" width=\"800\" src=\"../assets/hv_gv_bk_ds_pa.png\"/>\n",
    "\n",
    "These libraries have been carefully designed to work together to address a very wide range of data-analysis and visualization tasks, making it simple to discover, understand, and communicate the important properties of your data. For more background on these tools and why and how they are integrated, see [PyViz.org/background](http://pyviz.org/background.html).\n",
    "\n",
    "<img align=\"center\" src=\"../assets/tutorial_app.gif\"></img>\n",
    "\n",
    "This notebook serves as the homepage of the tutorial, including a table of contents listing each tutorial section. Here, timings listed in brackets (\"*[2 min]*\") indicate material that will be skimmed in the live tutorial, but which can be examined later in more detail as self-paced material."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Index and Schedule\n",
    "\n",
    "- *Overview*\n",
    "   * **10 min** &nbsp;[0 - Setup](./00_Setup.ipynb): Setting up the environment and data files.\n",
    "   * **40 min** &nbsp;[1 - Workflow Introduction](./01_Workflow_Introduction.ipynb): Overview of solving a simple but complete data-science task, using each of the main PyViz tools.\n",
    "   * **5 min** &nbsp;&nbsp;&nbsp;*Break*<br><br>\n",
    "\n",
    "- *Making data visualizable*\n",
    "   * **30 min** &nbsp;[2 - Annotating Data](./02_Annotating_Data.ipynb): Using HoloViews Elements to make your data instantly visualizable\n",
    "   * **20 min** &nbsp;[3 - Customizing Visual Appearance](./03_Customizing_Visual_Appearance.ipynb): How to change the appearance and output format of elements.\n",
    "   * **10 min** &nbsp;[*Exercise 1*](../exercises/Exercise-1-making-data-visualizable.ipynb)\n",
    "   * **10 min** &nbsp;*Break*<br><br>\n",
    "   \n",
    "- *Datasets and collections of data*   \n",
    "   * **30 min** &nbsp;[4 - Working with Tabular Data](./04_Working_with_Tabular_Data.ipynb): Exploring tabular/columnar data.\n",
    "   * *[2 min]* &nbsp;&nbsp;[5 - Working with Gridded Data](./05_Working_with_Gridded_Data.ipynb): Exploring a gridded (n-dimensional) dataset.\n",
    "   * **10 min** &nbsp;[*Exercise 2*](../exercises/Exercise-2-datasets-and-collections-of-data.ipynb)\n",
    "   * *[2 min]*  &nbsp;&nbsp;[6 - Network Graphs](./06_Network_Graphs.ipynb): Exploring network graph data.\n",
    "   * *[2 min]*  &nbsp;&nbsp;[7 - Geographic Data](./07_Geographic_Data.ipynb): Plotting data in geographic coordinates.\n",
    "   * *[omit] *&nbsp;&nbsp;&nbsp;[*Exercise 3*](../exercises/Exercise-3-networks-and-geoviews.ipynb)<br><br>\n",
    "\n",
    "- *Dynamic interactions*\n",
    "   * **25 min** &nbsp;[8 - Custom Interactivity](./08_Custom_Interactivity.ipynb): Using HoloViews \"streams\" to add interactivity to your visualizations.\n",
    "   * *[2 min]* &nbsp;&nbsp;[9 - Operations and Pipelines](./09_Operations_and_Pipelines.ipynb): Dynamically transforming your data as needed\n",
    "   * **20 min** &nbsp;[10 - Working with Large Datasets](./10_Working_with_Large_Datasets.ipynb): Using datasets too large to feed directly to your browser.\n",
    "   * *[2 min]*  &nbsp;&nbsp;[11 - Streaming Data](./11_Streaming_Data.ipynb): Live plots of dynamically updated data sources.\n",
    "   * **15 min** &nbsp;[*Exercise 4*](../exercises/Exercise-4-dynamic-interactions.ipynb)<br><br>\n",
    "   \n",
    "- *Apps and dashboards*  \n",
    "   * *[2 min]* &nbsp;&nbsp;[12 - Parameters and Widgets](./12_Parameters_and_Widgets.ipynb): Declarative custom controls\n",
    "   * *[2 min]* &nbsp;&nbsp;[13 - Deploying Bokeh Apps](./13_Deploying_Bokeh_Apps.ipynb): Deploying your visualizations using Bokeh server.\n",
    "   * *[2 min]* &nbsp;&nbsp;[A1 - Exploration with Containers](./A1_Exploration_with_Containers.ipynb): Containers that let you explore complex datasets.\n",
    "   * *[2 min]* &nbsp;&nbsp;[A2 - Dashboard Workflow](./A2_Dashboard_Workflow.ipynb): PyViz intro for people focusing on dashboards.\n",
    "   * *[omit]* &nbsp;&nbsp;&nbsp;&nbsp;[*Exercise 5*](../exercises/Exercise-5-exporting-and-deploying-apps.ipynb)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Related links\n",
    "\n",
    "You will find extensive support material on the websites for each package. You may find these links particularly useful during the tutorial:\n",
    "\n",
    "* [HoloViews reference gallery](http://holoviews.org/reference/index.html): Visual reference of all elements and containers, along with some other components\n",
    "* [HoloViews getting-started guide](http://holoviews.org/getting_started/index.html): Covers some of the same topics as this tutorial, but without exercises"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
